/***********************************************************************
 * Module:  Dimenzije.java
 * Author:  Igor Spremo, Milan Stojkov
 * Purpose: Defines the Class Dimenzije
 ***********************************************************************/

package model.entity;

import java.io.Serializable;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;

/**
 * 
 * @author Igor Spremo, Milan Stojkov
 *
 */

@SuppressWarnings("serial")
public class Dimenzije implements Serializable {
	
	protected Integer id;
	protected int visina;
	protected int sirina;
	protected int verzija;

	protected Collection<NarucenaMontaza> naruceneMontaze;
	protected Collection<VrstaPloce> vrstePloca;
	protected Collection<NarucenaMontaza> MontazaImaDimenziju;

	public Collection<NarucenaMontaza> getNaruceneMontaze() {
		if (naruceneMontaze == null)
			naruceneMontaze = new HashSet<NarucenaMontaza>();
		
		return naruceneMontaze;
	}

	public Iterator<NarucenaMontaza> getIteratorNaruceneMontaze() {
		if (naruceneMontaze == null)
			naruceneMontaze = new HashSet<NarucenaMontaza>();
		return naruceneMontaze.iterator();
	}

	public void setNaruceneMontaze(
			Collection<NarucenaMontaza> newNaruceneMontaze) {
		removeAllNaruceneMontaze();
		for (Iterator<NarucenaMontaza> iter = newNaruceneMontaze.iterator(); iter
				.hasNext();)
			addNarucenaMontaza((NarucenaMontaza) iter.next());
	}

	public void addNarucenaMontaza(NarucenaMontaza newNarucenaMontaza) {
		if (newNarucenaMontaza == null)
			return;
		if (this.naruceneMontaze == null)
			this.naruceneMontaze = new HashSet<NarucenaMontaza>();
		if (!this.naruceneMontaze.contains(newNarucenaMontaza))
			this.naruceneMontaze.add(newNarucenaMontaza);
	}

	public void removeNarucenaMontaza(NarucenaMontaza oldNarucenaMontaza) {
		if (oldNarucenaMontaza == null)
			return;
		if (this.naruceneMontaze != null)
			if (this.naruceneMontaze.contains(oldNarucenaMontaza))
				this.naruceneMontaze.remove(oldNarucenaMontaza);
	}

	public void removeAllNaruceneMontaze() {
		if (naruceneMontaze != null)
			naruceneMontaze.clear();
	}

	public Collection<VrstaPloce> getVrstePloca() {
		if (vrstePloca == null)
			vrstePloca = new HashSet<VrstaPloce>();
		
		return vrstePloca;
	}

	public Iterator<VrstaPloce> getIteratorVrstePloca() {
		if (vrstePloca == null)
			vrstePloca = new HashSet<VrstaPloce>();
		
		return vrstePloca.iterator();
	}

	public void setVrstePloca(Collection<VrstaPloce> newVrstePloca) {
		removeAllVrstePloca();
		for (Iterator<VrstaPloce> iter = newVrstePloca.iterator(); iter
				.hasNext();)
			addVrstaPloce((VrstaPloce) iter.next());
	}

	public void addVrstaPloce(VrstaPloce newVrstaPloce) {
		if (newVrstaPloce == null)
			return;
		if (this.vrstePloca == null)
			this.vrstePloca = new HashSet<VrstaPloce>();
		if (!this.vrstePloca.contains(newVrstaPloce))
			this.vrstePloca.add(newVrstaPloce);
	}

	public void removeVrstaPloce(VrstaPloce oldVrstaPloce) {
		if (oldVrstaPloce == null)
			return;
		if (this.vrstePloca != null)
			if (this.vrstePloca.contains(oldVrstaPloce))
				this.vrstePloca.remove(oldVrstaPloce);
	}

	public void removeAllVrstePloca() {
		if (vrstePloca != null)
			vrstePloca.clear();
	}

	public Collection<NarucenaMontaza> getMontazaImaDimenziju() {
		if (MontazaImaDimenziju == null)
			MontazaImaDimenziju = new HashSet<NarucenaMontaza>();
		return MontazaImaDimenziju;
	}

	public Iterator<NarucenaMontaza> getIteratorMontazaImaDimenziju() {
		if (MontazaImaDimenziju == null)
			MontazaImaDimenziju = new HashSet<NarucenaMontaza>();
		return MontazaImaDimenziju.iterator();
	}

	public void setMontazaImaDimenziju(
			Collection<NarucenaMontaza> newMontazaImaDimenziju) {
		removeAllMontazaImaDimenziju();
		for (Iterator<NarucenaMontaza> iter = newMontazaImaDimenziju.iterator(); iter.hasNext();)
			addMontazaImaDimenziju((NarucenaMontaza) iter.next());
	}

	public void addMontazaImaDimenziju(NarucenaMontaza newNarucenaMontaza) {
		if (newNarucenaMontaza == null)
			return;
		if (this.MontazaImaDimenziju == null)
			this.MontazaImaDimenziju = new HashSet<NarucenaMontaza>();
		if (!this.MontazaImaDimenziju.contains(newNarucenaMontaza))
			this.MontazaImaDimenziju.add(newNarucenaMontaza);
	}

	public void removeMontazaImaDimenziju(NarucenaMontaza oldNarucenaMontaza) {
		if (oldNarucenaMontaza == null)
			return;
		if (this.MontazaImaDimenziju != null)
			if (this.MontazaImaDimenziju.contains(oldNarucenaMontaza))
				this.MontazaImaDimenziju.remove(oldNarucenaMontaza);
	}

	public void removeAllMontazaImaDimenziju() {
		if (MontazaImaDimenziju != null)
			MontazaImaDimenziju.clear();
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public int getVisina() {
		return visina;
	}

	public void setVisina(int visina) {
		this.visina = visina;
	}

	public int getSirina() {
		return sirina;
	}

	public void setSirina(int sirina) {
		this.sirina = sirina;
	}

	public int getVerzija() {
		return verzija;
	}

	public void setVerzija(int verzija) {
		this.verzija = verzija;
	}

}